home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / ARGONET / PD / PROGRAMMING / DESKLIBT / EVENTSYS.ZIP / !EventSys1_!Help next >
Encoding:
Text File  |  1996-11-24  |  2.3 KB  |  37 lines

  1. Help for !Eventsys1 (Part 11 of the Tutorial)
  2. ---------------------------------------
  3.  
  4. !EventSys looks at the event_pollblock. 
  5.  
  6. Breakdown:
  7. ----------
  8. You might notice that I've replaced the reference block with lots of global variables.  That's because I wanted all Event_Clain function in one block, which would have meant a lot of twiddling around otherwise.  Anyway, here's what's happening:
  9. The Program opens two windows: one for testing purposes and one for displaying what's going on.  Each function that's called by an Event_Claim() will set the icon to read, which event just happened, and sound the system beep to show you that an event took place.  The events for which the display is updated are:
  10.  
  11. - Mouseclicks
  12. - Window opening
  13. - Window redraw
  14. - Window close
  15. - Menu selection
  16. - Pointer entering & leaving window
  17.  
  18. This should give you some idea what you can make your program react to.  The other events will follow in part 12 (EventSys2) of the tutorial.  Things to take note of are:
  19.  
  20. - Mouse clicks outside application windows/icons are *not* registered.
  21. - Mouse clicks on unclickable windows/icons are not registered.
  22. - The window opening function is called several times if the window is resized/dragged (well, stands to reason).
  23. - Pointer enter/leave works only with windows, not icons.
  24.  
  25. Some of the functions also make use of the data block of the event_pollblock.  Let's see...
  26.  
  27. menu():
  28.     To check which menu point was selected, event->data.selection is used.  This is an array, to distinguish between main- and submenus.  selection[0] checks the main menu, selection[1] the first level of submenus, selection[2] the second level of submanus and so on.  For more about submenus you'll have to look at !Menu2 of the tutorial.
  29.  
  30. click():
  31.     This function first uses event->data.mouse.icon to establish which icon has been clicked.  Once we're sure the click was on the baricon, event->data.mouse.button.data.menu/.select are used to find out which button has been pressed.  If it was the menu button, a menu is to be opened.  To find out the correct X-position for the menu, the mouse position is found in event->data.mouse.pos.x.
  32.  
  33. open():
  34.     Open uses the data in event->data.openblock to find the openblock needed by Wimp_OpenWindow().
  35.  
  36. redraw():
  37.     Similar to open(), event->data.openblock.window is used to find the window for which the redraw block needs to be found.